1. Field of the Invention
The present invention relates to an image processing apparatus having a graphic processing function and an image processing function and sharing a plurality of strings of processing data for parallel processing and a method of the same.
2. Description of the Related Art
Along with the improvement of operating speeds and strengthening of drawing functions in recent computer systems, computer graphics (CG) technology for preparing and processing graphics and images using computer resources is being actively researched and developed and put into practical use.
For example, in three-dimensional graphics, the optical phenomenon where a three-dimensional object is illuminated by a predetermined light source is expressed by a mathematical model and the surface of the object is given shading or brightness or further given a texture based on this model so as to generate a more realistic, three-dimensional-like two-dimensional high definition image.
Such computer graphics is now being increasingly actively used in CAD/CAM and other fields of application in science, engineering, manufacturing, etc.
Three-dimensional graphics is generally comprised by a “geometry sub-system” positioned as the front end and a “raster sub-system” positioned as the back end.
The geometry sub-system is a step of geometric processing of the position, posture, etc. of a three-dimensional object displayed on a display screen. In the geometry sub-system, an object is generally treated as an aggregate of a large number of polygons. Geometric processings such as “coordinate conversion”, “clipping”, and “light source computation” are carried out in units of polygons.
On the other hand, the raster sub-system is a step of painting each pixel composing the object. Rasterization is realized by for example interpolating image parameters of all pixels included inside a polygon based on the image parameters found for every vertex of the polygon. The image parameters referred to here include color (drawing color) data expressed by the so-called RGB format or the like, a z-value expressing a distance in a depth direction, and so on. Further, in recent high definition three-dimensional graphics processing, “f” (fog) for giving a perspective feeling, a texture for expressing the feeling of a material or texture of the object surface to impart reality, etc. are included as image parameters.
Here, the processing for generating the pixels inside a polygon from the vertex information of the polygon is executed by using a linear interpolation technique frequently referred to as a “digital differential analyzer” (DDA). In the DDA process, the inclination of data to a side direction of the polygon is found from the vertex information, the data on the side is calculated by using this inclination, then the inclination of a raster scan direction (X-direction) is calculated. The change of the parameter found from this inclination is added to the parameter value of a start point of the scan so as to generate an internal pixel.
In order to improve performance of the graphics LSI, it is effective to not only raise the operation frequency of the LSI, but also to utilize the technique of parallel processing. The technique of parallel processing may be roughly classified as follows. First is a parallel processing method by area division, second is a parallel processing method at a primitive level, and third is a parallel processing method at a pixel level.
The above classification is based on a particle size of the parallel processing. The particle size of the area division parallel processing is the roughest, and the particle size of the pixel level parallel processing is the finest. Summaries of the techniques will be given below.